package sort.选择排序;


public class SelectionSort {
    /**
     * 找出最大的元素，与最后一条元素交换
     * 从最后一位开始比较，比到下标为一的位置
     * 选择排序交换次数小
     * 最好，最坏的情况都是O(n2)
     * 选择排序严格来说是不稳定的
     * 7，5，10，10，2，4，2
     * 7，5，10，2，2，4，10
     */
    public static void test1() {
        int[] arrays = {17,37,98,27,9,47,0,5};
        for (int end = arrays.length - 1;end > 0; end--) {
            int maxIndex = 0;
            for(int begin = 1;begin <= end ;begin++) {
                if (arrays[maxIndex] <= arrays[begin]) {
                    maxIndex = begin;
                }
            }
            int temp = arrays[maxIndex];
            arrays[maxIndex] = arrays[end];
            arrays[end] = temp;
        }
        for (int array : arrays) {
            System.out.println(array);
        }
    }

}
